\documentclass[twocolumn,prb,aps,superscriptaddress]{revtex4}%
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{bm}
\usepackage{amssymb}
\usepackage[dvips]{graphicx}
\usepackage{dcolumn}
\usepackage{txfonts}
%\usepackage{hyperref}
\usepackage{makeidx}
\usepackage{color}
\usepackage{mathtools}
\usepackage{threeparttable}
\usepackage[colorlinks,linkcolor=red,anchorcolor=blue,citecolor=green]{hyperref}

\begin{document}

\title{SpinSolver: Theoretical Analysis Package for ESR/NMR Physicists}
\author{Nan Zhao}
\affiliation{Beijing Computational Science Research Center (CSRC), Beijing 100084, China}

\maketitle
\section{Project Goal}
The aim of this project is to provide a user-friendly theoretical analysis tool for physicists working on electron spin resonance (ESR) and/or nuclear magnetic resonance (NMR) systems.
It focuses on the dynamics of coupled spins (including electron spins and nuclear spins) under various external controls (e.g., static magnetic fields and microwave/radio frequency pulses).
Experimentalists can use this package to process measured data, explain experimental observations, and optimize measurement parameters, etc.
Also, theoreticians can use this package to simulate spin dynamics, fast test ideas, and so on.

A typical problem sometimes troubles experimentalists (especially, non-experts or inexperienced students) a lot is how to choose suitable parameters.
For example, if you want to control an electron spin with high fidelity using MW pulses, you usually have to determine the pulse power and duration in advance.
For controlling a simple spin-$\frac{1}{2}$ (or other effective two-level systems), the relation between fidelity and parameters can be found in many textbooks. 
However, when treating more `complicated' problems, say a coupled electron-nuclei system, the fidelity are usually not as explicit as the simple two-level case.

Of course, as long as the number of spins is not too large (which is usually the case in many measurements), the simulation itself is not difficult at al. 
However, even for a well-trained programmer, developing new codes and testing them may take several hours or even longer.
A quick solution in this situation is highly demanded.
The goal of this project is to provide a ready-to-use and well-tested analysis tool in such situations.


\section{Project Realization}
\subsection{Overview}
Although we hope the project finally manage to solve all problems in coupled spin systems, we choose to realize it in a `bottom-up' way.
Instead of directly solving the most general problems in general systems, we start from small problems for concrete systems.
Particularly, at the moment, we focus more on nitrogen-vacancy (NV) center and phosphorus/bismuth doped silicon (Si:P and Si:Bi) systems.
In this way, even for some very basic building blocks of the project, e.g. Rabi oscillation of single electron spin, could have immediate application in real measurements.

\subsection{Structure}

\begin{figure}[t]
  \includegraphics[width=\columnwidth]{structure.pdf}
  \caption{Structure of the package. }
\label{FIG:structure}
\end{figure}

The whole package contains several modules. Fig.~\ref{FIG:structure} shows an incomplete structure of the package.
The core module is `\textit{physics}'. It defines the problem to solve and provide kernels to generate results.
The `\textit{mathematics}' and `\textit{miscellaneous}' modules consist of algorithm supports. 
The `\textit{experiments}' module is a port connecting to the real measurements (this part is well-established in PI3 Stuttgart group).
The `\textit{GUI}' provide a user interface.

Of course, the structure presented in Fig.~\ref{FIG:structure} is incomplete and may be strongly modified in future according to development progress.

\subsection{Development Tools}
The package is developed using Python. The OOP feature of Python enables high efficient in developing, maintaining and user application.
If necessary, C++ or Fortran will be also included to treat the numerical tasks.

Since developers may be distributed around the world, SVN and google-code hosting are used to keep synchronization of the code.

We have already some codes, implementing some basic functions. You can find it and download it through the following link: 

\begin{center}
\hyperref{http://code.google.com/p/quantum-coherence/}{}{}{http://code.google.com/p/quantum-coherence/}
\end{center}

\section{Join the project}
I will be in charge of the whole project, particularly, the global structure and the theoretical foundations. 
You are very welcome to join this project, if 
\begin{enumerate}
\item you want to become an experimentalist who can solve Schr\"{o}dinger equations (and understand the underlying physics behind formulas);
\item you want to become a theoretician who knows how spins are controlled by MW in lab;
\item you are skilful or are interested in Python programming and solving real problems;
\item you are familiar with ESR/NMR experiments, or come from an experimental group;
\item you are interested in software development, or you want build up a useful software for world famous labs (and maybe sell it to them in future:)
\end{enumerate}
Cooperation in any form is OK for me. Probably, for students from experimental groups, visiting me at CSRC in Beijing for a period of time (say 1 or 2 months) is one of the best choices. I can cover the cost (for students, at least partially) during the visiting.

\bibliographystyle{apsrev4-1}
\bibliography{/home/nzhao/research/reference/bib/MendeleyAllnew}
\end{document}